// pages/detail/detail.js
const db=wx.cloud.database()
import {
  getById,
  inc,
  count,
  add, update,
  del
} from '../../utils/db';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detail: {}, //菜谱详情
    isLike:false,     //false 没有关注；true 已经关注,
  
  },
  async onLoad(e) {
    var id = e.id; //菜谱id
    // this.data.id=id;

    //访问数累加
    await inc("menu", id).catch(err => {
      console.log(err)
    })

    //获取菜谱详情
    var result = await getById("menu", id).catch(err => {
      console.log(err);
      return;
    })

    //根据menuid和_openid查询likes集合
    var openid=wx.getStorageSync('openid')
    var result1 =await count("likes",{menuid:id,_openid:openid}).catch(err=>{
      console.error(err)
    })
    // console.log(result1)
    if(result1.total==0){
      this.setData({
        isLike:false
      })
    }else{
      this.setData({
        isLike:true
      })
    }



    //渲染数据
    this.setData({
      detail: result.data
    })
    //改变导航栏标题
    wx.setNavigationBarTitle({
      title: this.data.detail.name
    })

  },
  //添加关注
  async addLike(){
    //likes集合中添加记录
    var result =await add("likes",{menuid:this.data.detail._id}).catch(err=>{
      console.error(err)
    })
    // 更新menu集合likes字段
    
    var result = await update("menu",this.data.detail._id,{
      likes:db.command.inc(1)
    }).catch(err=>{
      console.log(err);
      return;
    })
    // 更改页面数据
    this.data.detail.likes+=1;
    this.setData({
      detail:this.data.detail,
      isLike:true
    })

  },
  //取消关注
  async cancelLike(){
    var openid=wx.getStorageSync('openid');
    var menuid=this.data.detail._id;
    //删除likes集合中的记录
    var result =await del("likes",{_openid:openid,menuid:menuid}).catch(err=>{
      console.log(err);
      return;
    })
    //menu中likes字段-1
    update("menu",menuid,{
      likes:db.command.inc(-1)
    })

    //页面数据更改
    this.data.detail.likes-=1;
    this.setData({
      detail:this.data.detail,
      isLike:false
    })

  }

})